package com.link2room.blaster.facade;

import com.link2room.blaster.dto.param.inMail.*;
import com.link2room.blaster.dto.innerUse.InmailBaseDto;
import com.link2room.common.jpa.result.QueryResult;

import java.util.List;

/**
 * Created by LN on 2017/6/27.11:43
 */
public interface InMailFacadeService {
    void login(InMailConnectParamDto paramDto) throws Exception;

    void logout(InMailConnectParamDto paramDto);

    void sendMessage(SendMessageParamDto paramDto);

    /**
     * 创建消息
     *
     * @param paramDto
     * @throws Exception
     */
    InmailBaseDto createInmail(InmailCreateParamDto paramDto) throws Exception;

    void sendInmailId(SendInmailIdParamDto paramDto) throws Exception;

    QueryResult inmailList(InmailBaseParamDto paramDto) throws Exception;

    InmailBaseDto inmailDetail(InmailBaseParamDto paramDto) throws Exception;

    long countInmail(InmailBaseParamDto paramDto) throws Exception;

    /**
     * 消息已读
     * @param paramDto
     */
    void inmailRead(InmailBaseParamDto paramDto) throws Exception;

    /**
     * 消息完成
     * @param paramDto
     * @throws Exception
     */
    void inmailDone(InmailBaseParamDto paramDto) throws Exception;

}
